package com.hygj.baseUtil;

import com.hygj.util.PageUtil;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

public interface BaseService<T> {
	
	/**
     * 保存
     * @param t
     * @throws Exception
     */
    int insert(String sqlId, T t);

    int insert(T t);

    /**
     * 删除
     * @param id
     * @throws Exception
     */
    int  delete(String sqlId, Integer id);

    /**
     * 合同删除
     * @param id
     * @throws Exception
     */
    int  deletes(String sqlId, Integer id);



    /**
     * 修改
     * @param t
     * @throws Exception
     */
    int  update(String sqlId, T t);

    /**
     * 根据ID查询数据
     * @param id
     * @return
     * @throws Exception
     */
    T getById(String sqlId, Integer id);

    /**
     * 查询全部
     * @return
     * @throws Exception
     */
    List<T> listAll(String sqlId, Map<String, Object> params);

    /**
     * 查询总条数
     * @param params
     * @return
     */
    int pageCount(Map<String, Object> params);

    /**获取分页数据
     *
     * @param params
     * @return
     */
    List<T> pageList(Map<String, Object> params);

    /**
     * 分页
     * @param request
     * @param pageSize
     * @return
     */
    PageUtil<T> page(HttpServletRequest request, int pageSize, Map<String, Object> params);

    /**
	 * 获取一些单一结果的
	 * @param sqlId
	 * @param params
	 * @return
	 */
	Object find(String sqlId, Map<String, Object> params);

}
